home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 20
/
Cream of the Crop 20 (Terry Blount) (1996).iso
/
bbs
/
qb281cz2.zip
/
STRUCT.281
< prev
next >
Wrap
Text File
|
1996-07-07
|
25KB
|
669 lines
(****************************************************************************)
(* Structures document for QuickBBS version 2.81 Zeta-2. *)
(* *)
(* This information may be freely copied and used at no charge by any *)
(* party to write utilities and other software which enhances the use of *)
(* the QuickBBS software. *)
(* *)
(* Use of this information in any other BBS program without the permission *)
(* Of Matrix Technologies is strictly prohibited. *)
(* *)
(* Copyright 1991-96 Matrix Technology *)
(* All Rights Reserved. *)
(****************************************************************************)
(****************************************************************************)
(* See the file STRUCTURE.DOC for information on these structures! *)
(****************************************************************************)
Const
{$IFDEF GOLDBASE}
MaxMsgAreas = 500;
FileExt = '.DAT';
{$ELSE}
MaxMsgAreas = 200;
FileExt = '.BBS';
{$ENDIF}
{ MaxFileAreas = 200; infinity }
MaxLanguages = 30;
MaxEvents = 30;
MaxProtocols = 20;
type
FlagType = array[1..4] of Byte;
UserIdxRecord = record { USERIDX.BBS or USERIDX.DAT }
NameCRC : LongInt;
AliasCRC: LongInt;
end;
UserRecord = record { USERS.BBS or USERS.DAT }
Name : String[35];
City : String[25];
ReservedZero: Byte; { Reserved, should always be 0 }
Language : Byte;
PwdCrc : Longint;
PwdChangeDate,
ExpireDate : Word; { Number of days since 1/1/1900 }
{$IFDEF GOLDBASE}
HighMsgRead : LongInt;
{$ELSE}
UnusedSpace : LongInt;
{$ENDIF}
Attrib2 : Byte;
ExtraSpace : Byte;
DataPhone,
HomePhone : String[12];
LastTime : String[5];
LastDate : String[8];
Attrib : Byte;
Flags : FlagType;
Credit,
Pending,
{$IFDEF GOLDBASE}
TimesPosted : Word;
ObsoleteField,
{$ELSE}
TimesPosted,
HighMsgRead,
{$ENDIF}
SecLvl,
Times,
Ups,
Downs,
UpK,
DownK : Word;
TodayK : Integer;
Elapsed,
Len : Integer;
CombinedPtr : Word; (* Record number in COMBINED.BBS *)
(* Note: 0 signifies no combined record assigned *)
AliasPtr : Word; (* Record number in ALIAS.BBS *)
(* Note: 0 signifies no alias record assigned *)
Birthday : Longint; { Number of days since 1/1/1900 }
end;
(* Attrib:
Bit 0: Deleted
Bit 1: Screen Clear Codes
Bit 2: More Prompt
Bit 3: ANSI
Bit 4: No-Kill
Bit 5: Ignore Download Hours
Bit 6: ANSI Full Screen Editor
Bit 7: Sex (0=male, 1=female)
*)
(* Attrib2:
Bit 0: Guest Account (No Password Needed)
Bit 1: SSR Configured On/Off (False/0 = Unused., True/1 = Activated)
Bit 2: Not Defined Yet (Should be False/0)
Bit 3: Not Defined Yet (Should be False/0)
Bit 4: Not Defined Yet (Should be False/0)
Bit 5: Not Defined Yet (Should be False/0)
Bit 6: Not Defined Yet (Should be False/0)
Bit 7: Not Defined Yet (Should be False/0)
*)
type
UserActivityType = (InMenu, InDoor, InCallback,
ReadingMessages, WritingMessage,
ChattingWithSysop, ChattingWithUsers,
AnsweringQuestionaire, ViewingTextFile,
DownloadingFile, UploadingFile, ViewingFileList,
DoingFileSearch, LoggingOn, LoggingOff, WaitingForCall);
USERONrecord = record { USERON.BBS }
Name : String[35];
Alias : String[35];
Line : Byte;
Baud : Word;
City : String[25];
DoNotDisturb : Boolean;
Conference : Byte;
Activity : UserActivityType;
Language : Byte;
Spare : Array[2..9] of Byte;
end;
AliasRecord = String[35]; (* for ALIAS.BBS *)
(* Note: record 0 of ALIAS.BBS is a placeholder only, and contains no
information. *)
MsgToIdxRecord = String[35]; { MSGTOIDX.BBS or MSGTOIDX.DAT }
MsgTxtRecord = String[255]; { MSGTXT.BBS or MSGTXT.DAT }
{ Nodelist Records *************************************************** }
NodeTypes = (ntZone, ntRegion, ntNet, ntNode, ntPrefix);
NodeIdxRecord = record
NodeType : NodeTypes;
Number,
Cost : Word;
RawFile : Byte;
RawPos : LongInt;
end;
FileNameType = String[12];
NodeIncRecord = record
FileName : FileNameType;
DateStamp : LongInt;
end;
{ Message Records ******************************************************}
CombSelectType = array[1..MaxMsgAreas] of Boolean; (* for COMBINED.BBS *)
(* Note: record 0 of COMBINED.BBS is a placeholder only, and contains no
information. *)
InfoRecord = record
{$IFDEF GOLDBASE}
LowMsg : LongInt; { Lowest Message in File }
HighMsg : LongInt; { Highest Message in File }
TotalActive : LongInt; { Total Active Messages }
ActiveMsgs : array[1..MaxMsgAreas] of Word;
{$ELSE}
LowMsg : Integer; { Lowest Message in File }
HighMsg : Integer; { Highest Message in File }
TotalActive : Integer; { Total Active Messages }
ActiveMsgs : array[1..MaxMsgAreas] of Integer;
{$ENDIF}
end;
IdxRecord = record { MSGIDX.BBS or MSGIDX.DAT }
{$IFDEF GOLDBASE}
MsgNum : LongInt;
Board : Word;
{$ELSE}
MsgNum : Integer;
Board : Byte;
{$ENDIF}
end;
HdrRecord = record { MSGHDR.BBS or MSGHDR.DAT }
{$IFDEF GOLDBASE}
MsgNum,
ReplyTo,
SeeAlsoNum : LongInt;
{$ELSE}
MsgNum,
ReplyTo,
SeeAlsoNum,
{$ENDIF}
TRead : Integer;
{$IFDEF GOLDBASE}
StartRec : LongInt;
{$ELSE}
StartRec : Word;
{$ENDIF}
NumRecs,
DestNet,
DestNode,
OrigNet,
OrigNode : Integer;
DestZone,
OrigZone : Byte;
Cost : Integer;
MsgAttr,
NetAttr, (* NOTE: MsgAttr and NetAttr are WORD for GOLDBASE *)
{$IFDEF GOLDBASE}
Board : Word;
{$ELSE}
Board : Byte;
{$ENDIF}
PostTime : String[5];
PostDate : String[8];
WhoTo,
WhoFrom : String